#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTcpServer>
#include <QTcpSocket>
#include <QFileDialog>
#include <QFileInfo>
#include <QFile>
#include <QMessageBox>
#include <QDebug>
#include <QTimer>

#define PORT 8000       //端口号

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void newConnectionHandler();            //新连接处理槽函数

    void sendFileTimeoutHandler();          //发送文件结束定时器处理

    void on_selectPushButton_clicked();     //选择文件按钮实现

    void on_sendPushButton_clicked();       //发送文件按钮实现

private:
    Ui::Widget *ui;

    QTcpServer *tcpServer;          //创建服务器对象指针
    QTcpSocket *tcpSocket;          //通信套接字

    QFile file;                     //创建文件对象

    QString fileName;               //文件名字
    qint64 fileSize;                //文件大小
    qint64 senddFileSize;           //发送文件大小

    QTimer *sendFileTimer;           //发送文件定时器
};
#endif // WIDGET_H
